Barrio: La flora
Tipo: Apartamento
Paso 1. Filtrar un barrio de interes y solo apartamentos: Se tomará como referencia el barrio “La flora” y sus coincidencias cercanas
library(readxl)
Datos = read_excel("C:/Data/Datos_Vivienda M1.xlsx")
ID=1:dim(Datos)[1]
Datos=data.frame(ID,Datos)
pos=which(Datos$Barrio=="la flora")
datos_sub=Datos[pos,]
#Total de registros de "la flora"
length(pos)
## [1] 366
require(RecordLinkage)
pos2=which(jarowinkler("la flora",Datos$Barrio)>0.95 & Datos$Tipo=="Apartamento")
datos_sub=Datos[pos2,]
head(datos_sub)
| ID | Zona | piso | Estrato | precio_millon | Area_contruida | parqueaderos | Banos | Habitaciones | Tipo | Barrio | cordenada_longitud | Cordenada_latitud | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 89 | 89 | Zona Norte | NA | 5 | 340 | 106 | 2 | 2 | 3 | Apartamento | la flora | -76.48200 | 3.43500 |
| 192 | 192 | Zona Norte | 4 | 5 | 320 | 85 | 1 | 2 | 3 | Apartamento | la flora | -76.48836 | 3.46047 |
| 240 | 240 | Zona Norte | 1 | 5 | 320 | 87 | 2 | 2 | 3 | Apartamento | la flora | -76.49020 | 3.46879 |
| 380 | 380 | Zona Norte | 11 | 5 | 350 | 104 | 2 | 3 | 3 | Apartamento | la flora | -76.49473 | 3.49195 |
| 381 | 381 | Zona Norte | 9 | 5 | 285 | 84 | 1 | 2 | 3 | Apartamento | la flora | -76.49474 | 3.49196 |
| 382 | 382 | Zona Norte | 7 | 5 | 300 | 88 | 1 | 3 | 3 | Apartamento | la flora | -76.49474 | 3.49196 |
#Total de registros de "la flora" y sus coincidencias cercanas tipo "Apartamento"
length(pos2)
## [1] 268
Paso 2. Exploración Inicial
##Tabla de indicadores Importantes para Precio y Area construida
cantidad_ofertas=length(datos_sub$Barrio)
minimo_precio=min(datos_sub$precio_millon,na.rm = TRUE)
maximo_precio=max(datos_sub$precio_millon,na.rm = TRUE)
promedio_precio=mean(datos_sub$precio_millon,na.rm = TRUE)
media_precio=median(datos_sub$precio_millon,na.rm = TRUE)
desvest_Precio=sd(datos_sub$precio_millon,na.rm = TRUE)
desc_Precio=data.frame(cantidad_ofertas,minimo_precio,maximo_precio,promedio_precio,desvest_Precio,media_precio)
desc_Precio
| cantidad_ofertas | minimo_precio | maximo_precio | promedio_precio | desvest_Precio | media_precio |
|---|---|---|---|---|---|
| 268 | 150 | 750 | 331.7015 | 83.49855 | 320 |
minimo_areacons=min(datos_sub$Area_contruida,na.rm = TRUE)
maximo_areacons=max(datos_sub$Area_contruida,na.rm = TRUE)
promedio_areacons=mean(datos_sub$Area_contruida,na.rm = TRUE)
media_areacons=median(datos_sub$Area_contruida,na.rm = TRUE)
desvest_areacons=sd(datos_sub$Area_contruida,na.rm = TRUE)
desc_AreaCons=data.frame(cantidad_ofertas,minimo_areacons,maximo_areacons,promedio_areacons,desvest_areacons,media_areacons)
desc_AreaCons
| cantidad_ofertas | minimo_areacons | maximo_areacons | promedio_areacons | desvest_areacons | media_areacons |
|---|---|---|---|---|---|
| 268 | 52 | 392 | 99.96332 | 30.98639 | 98.5 |
Paso3. Visualización en Mapa Iteractivo
require(leaflet)
library( htmltools )
#opción 1
leaflet() %>% addCircleMarkers(lng = datos_sub$cordenada_longitud, lat = datos_sub$Cordenada_latitud, radius = 1, color = "black",label = paste0( 'ID: ',datos_sub$ID,', Precio: ', datos_sub$precio_millon, ', Area: ', datos_sub$Area_contruida, ', Barrio: ', datos_sub$Barrio,', Lat: ',datos_sub$Cordenada_latitud,', Long: ',datos_sub$cordenada_longitud)) %>% addTiles()
#opción 2
leaflet() %>% addMarkers(lng = datos_sub$cordenada_longitud, lat = datos_sub$Cordenada_latitud, label = paste0( 'ID: ',datos_sub$ID,', Precio: ', datos_sub$precio_millon, ', Area: ', datos_sub$Area_contruida, ', Barrio: ', datos_sub$Barrio,', Lat: ',datos_sub$Cordenada_latitud,', Long: ',datos_sub$cordenada_longitud )) %>% addTiles()
Paso 4. Exploración Bivariada entre Precio y Área Construida
require(ggplot2)
require(plotly)
g1=ggplot(data=datos_sub,aes(y=precio_millon,x=Area_contruida)) + geom_point() + geom_smooth()
ggplotly(g1)
pos3=which(datos_sub$Area_contruida<200)
datos_sub2=datos_sub[pos3,]
g2=ggplot(data=datos_sub2,aes(y=precio_millon,x=Area_contruida)) + geom_point() + geom_smooth()
ggplotly(g2)